package com.test.mvcframework.ioc;

import java.util.Map;

/**
 * @author felix
 */
public interface BeanFactory {
    /**
     * 通过名称获取bean
     *
     * @param beanName
     * @return
     */
    Object getBean(String beanName);

    /**
     * 通过类型获取bean
     *
     * @param tClass
     * @param <T>
     * @return
     */
    <T> T getBean(Class<T> tClass);

    /**
     * 通过类型获取bean
     * @param type 类型
     * @param <T>
     * @return
     */
    <T> Map<String, T> getBeansOfType(Class<T> type);
}
